package nighttest.day03;

import java.io.File;
import java.io.FileFilter;

/**
 * 列出当前目录中所有名字包含s的子项。
 * 使用匿名内部类和lambda两种写法
 * 单词记一记:
 * FileFilter   文件过滤器
 * accept       接受
 * @author Xiloer
 */
public class test3_2 {
    public static void main(String[] args) {
        /*File f = new File(".");
        if(f.isDirectory()) {//判断当前file是否表示一个目录
            FileFilter filter = new FileFilter() {//匿名内部类
                public boolean accept(File file) {//有多少子项就调几遍
                    String name = file.getName();
                    return name.contains("s");
                }
            };
            File[] subs = f.listFiles(filter);
            System.out.println("子项个数："+subs.length);
            for(int i=0;i<subs.length;i++) {
                System.out.println(subs[i].getName());
            }
        }
*/
        File f = new File(".");
        FileFilter filter = (file) ->file.getName().contains("s");

        File[] subs = f.listFiles(filter);
        System.out.println("子项个数："+subs.length);
        for(int i=0;i<subs.length;i++) {
            System.out.println(subs[i].getName());
        }
    }
}
